Simple code reader

ABSTRACT

Embodiments of the present disclosure provide code readers for reading codes provided as patterns imprinted on objects. Light interacts with a pattern by e.g. being reflected from or transmitted through the pattern, and at least some of the light that has interacted with the pattern is incident on photosensitive element(s) of one or more photodetectors of a code reader. The code reader employs centroid-measuring photodetector(s), i.e. photodetectors that detect light in such a manner that centroid of a pattern can be obtained directly from the photocurrents generated as a result of the photosensitive elements detecting light incident thereon. The code reader is then configured to process the detected light to determine a centroid of the pattern from the detected light and to decode data encoded in the pattern based on a position of the centroid. Such code readers are substantially less complex than camera-based devices and avoid mechanical scanning.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of and priority from U.S.Provisional Patent Application Ser. No. 62/314,565 filed 29 Mar. 2016entitled “SIMPLE CODE READER,” which is incorporated herein by referencein its entirety.

TECHNICAL FIELD OF THE DISCLOSURE

The present invention relates to the field of optical detectors, inparticular to systems and methods for reading data embedded in imprintedpatterns.

BACKGROUND

Many forms of readers that read data embedded in printed patterns exist.Data embedded in a spatially varying pattern is generally referred to asa “code” or as “encoded data” and a reader for decoding the data fromthe pattern is referred to as a “code reader.”

Existing code readers typically use either a camera or a scanning lightbeam to read the encoded data. For example, scanners used at thecheck-out in grocery stores are examples of code readers using scanninglight beams. Line scanners (also sometimes referred to as“one-dimensional cameras”) are another example of code readers, in whichan object with a pattern printed thereon and a line camera are movedpast each other, as is done e.g. in fax machines or flat-bed scanners.Two-dimensional (2-D) camera based systems provide yet another exampleof code readers, where a 2-D camera acquires the image and thenprocesses it to determine the data encoded therein.

All of these code readers are relatively expensive systems that requiremany pixels, substantial image processing capabilities, or/andassemblies that include mechanically moving parts that are prone tobreaking. In addition, code readers using cameras and line scanners aresensitive to ambient light conditions and object placement and requirecareful selection of optics, e.g. focusing elements, and electronicsprocessing. While code readers such as laser scanners may be moretolerant to ambient light and may function without focusing, they usecumbersome mechanical assemblies.

For the reasons described above, including existing code readers in e.g.consumer electronic devices or medical assemblies that may requirereading of codes is often not technically possible, has prohibitivelyhigh complexity, and/or is simply too expensive. In particular, asmodern electronics are becoming more and more ubiquitous in healthcare,medical equipment is often provided with electronic components andalgorithms to sense, measure, and monitor living beings. For example,diabetes is a lifelong disease affecting glucose levels in millions ofpeople across the world, often with dire consequences. Modernelectronics enable managing this disease by providing glucose measuringdevices (generally referred to as “glucose meters”) to people withdiabetes. A diabetic person can put a drop of his or her blood on aglucose metering strip, insert the strip with the blood into the glucosemeter, and find out a glucose level based on the tests that the glucosemeter performs on the blood in the strip. In order for a glucose meterto perform its measurements correctly, the meter often needs informationregarding the glucose strip, such as e.g. the nature and amounts ofchemical compounds included in a particular strip. It would be desirableto be able to encode this information into a code that can be providedon a strip and to be able to supply every glucose meter with a codereader that can decode the information from such codes on the strips. Inthis context, as well as with other medical device assemblies, consumerelectronics, or electronics in general, low cost and simplicity of acode reader is critical for its viability in the marketplace.

BRIEF DESCRIPTION OF THE DRAWINGS

To provide a more complete understanding of the present disclosure andfeatures and advantages thereof, reference is made to the followingdescription, taken in conjunction with the accompanying figures, whereinlike reference numerals represent like parts, in which:

FIGS. 1A and 1B depict block diagrams illustrating an exemplary codereading assembly of a code reader and an object with a pattern imprintedthereon, according to some embodiments of the disclosure;

FIG. 2 illustrates an example of an angle sensor, according to someembodiments of the disclosure;

FIG. 3 illustrates examples of patterns that could be read using one ofthe code readers described herein, according to some embodiments of thedisclosure;

FIGS. 4A and 4B illustrate relative positions of a code reader and anobject having a code imprinted thereon, according to some embodiments ofthe disclosure;

FIGS. 5A and 5B illustrate relative positions of a differential codereader and an object having a differential code imprinted thereon,according to some embodiments of the disclosure;

FIG. 6 illustrates examples of differential patterns that could be readusing one of the differential code readers described herein, accordingto some embodiments of the disclosure; and

FIG. 7 illustrates a flow diagram of a code reading method, according tosome embodiments of the disclosure.

DESCRIPTION OF EXAMPLE EMBODIMENTS OF THE DISCLOSURE

Overview

Embodiments of the present disclosure provide code readers that aresubstantially less complex than camera-based devices, avoid mechanicalscanning, and do not require cumbersome mechanical assemblies. Codereaders described herein may be used in any systems that requiredecoding data encoded into spatially varying patterns imprinted on anobject, and may be especially attractive for medical device assembliessuch as, but not limited to, glucose meter and glucose metering stripassemblies, medicine dispenser and medicine container assemblies (e.g.diffusion pumps into which medicine-containing tubes are inserted), orfor consumer electronic applications.

One aspect of the present disclose provides a medical device assemblycomprising: a medical device reader configured to perform measurementson a medical device object, the medical device reader comprising a codereader, and the medical device object configured to be affixed to,aligned with, or inserted into the medical device reader and having acode provided thereon as a pattern imprinted on the object. The codereader comprises one or more centroid-measuring photodetectorsconfigured to, when the medical device object is affixed to, alignedwith, or inserted into the medical device reader, detect light that hasinteracted with the pattern, wherein the detected light is indicative ofa centroid of the pattern; and a processing logic configured todetermine the centroid of the pattern from the detected light, anddetermine the code based on the determined centroid (i.e., decode thedata encoded in the pattern provided on the object).

Another aspect of the present disclose provides a code reading systemcomprising a first centroid-measuring photodetector configured to detectlight that has interacted with a first pattern provided on an object,wherein the first pattern encode data (i.e. the first pattern representa code encoding data) and wherein the detected light is indicative of acentroid of the first pattern; and a processing logic configured todetermine the centroid of the first pattern from the detected light, anddecode the data encoded in the first pattern based on the determinedcentroids of the first pattern.

As will be appreciated by one skilled in the art, aspects of the presentdisclosure may be embodied in various manners—e.g. as a method, asystem, a computer program product, or a computer-readable storagemedium. Accordingly, aspects of the present disclosure may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Functions described in this disclosure may be implemented as analgorithm executed by one or more processing units, e.g. one or moremicroprocessors, of one or more computers. In various embodiments,different steps and portions of the steps of each of the examplesdescribed herein may be performed by different processing units.Furthermore, aspects of the present disclosure may take the form of acomputer program product embodied in one or more computer readablemedium(s), preferably non-transitory, having computer readable programcode embodied, e.g., stored, thereon. In various embodiments, such acomputer program may, for example, be downloaded (updated) to theexisting devices and systems or be stored upon manufacturing of thesedevices and systems.

Other features and advantages of the disclosure are apparent from thefollowing description, and from the claims.

Embodiments of the present disclosure provide code readers for readingcodes provided as patterns imprinted on objects. As used herein, theterm “code” refers to a pattern, provided on an object, the patternrepresenting (i.e. encoding) certain data to be conveyed. A pattern maye.g. be imprinted on an object, where the term “imprinted” encompassespatterns printed, stamped, punched, impressed, engraved, debossed,etched, or marked on an object in any other manner. “Imprinted” alsoinclude patterns provides as openings or holes in an object, e.g. bybeing punched through. Light interacts with a pattern (e.g. is reflectedfrom the pattern, is transmitted through the pattern, is partiallyabsorbed by the pattern, etc.) and at least some of the light that hasinteracted with the pattern is incident on the photosensitive elementsof one or more photodetectors of one of the code readers describedherein. In particular, embodiments of the present disclosure providecode readers that use centroid-measuring photodetectors, i.e.photodetectors that detect light in such a manner that centroid of apattern can be obtained directly from the photocurrents generated as aresult of the photosensitive elements of the photodetectors detectinglight incident thereon. The code reader is then configured to processthe detected light to determine a centroid of the pattern from thedetected light and to decode the data encoded in the pattern based on aposition of the centroid. As a result, code readers that aresubstantially less complex than camera-based devices and avoidmechanical scanning may be obtained.

FIGS. 1A and 1B depict block diagrams illustrating an exemplary codereading assembly 100 of a code reader 102 and an object 120 with apattern 122 imprinted thereon, according to some embodiments of thedisclosure. Various embodiments of the present disclosure are by nomeans limited to the patterns as illustrated in the FIGUREs as examples,such as e.g. the pattern 122 or patterns shown in FIGS. 3 and 6.

In some embodiments, the code reader 102 and the object 120 form anassembly, e.g. an assembly used as a medical device, in the object 120could be a glucose meter strip and the code reader 102 could be or couldbe included within a glucose metering device.

The code reader 102 is configured to read the code of the pattern 122.To that end, the code reader 102 includes a portion 104, which could bereferred to as a connector for the object 120 to the code reader 102,that includes one or more centroid-measuring photodetectors 108configured to detect light that has interacted with the pattern 122. Insome embodiments, the code reader 102 may also include one or more lightsources 116 for generating light that then interacts with the pattern122, e.g. by being coupled into a waveguide configured to illuminatedthe pattern 122, by being reflected on the pattern 122, by beingtransmitted through the pattern 122, and/or by being partially absorbedby the pattern 122.

In various embodiments, the light source 116 may comprise a lightemitting diode (LED), or any suitable component for emitting light. Thelight emitted by the light source 116 can be of any suitable wavelength(or a range of wavelengths), depending on the application.

In other embodiments, the code reader 102 does not include anyadditional light sources used for reading of codes, such as the lightsource 116, and instead ambient light may be used to interact with thepattern 122 and to be detected by the photodetectors 108. For example,the pattern 122 may be provided in the object 120 so that it is insertedin the object in such a way that light incident on one side (onesurface) of the pattern can be at least partially transmitted throughthe pattern, emerging from the other side of the pattern. Thus, theobject 120 would serve as a frame, framing the pattern 122. Such apattern could then be aligned with the code reader 102 in such a waythat ambient light is incident on one surface of the pattern, and thephotodetectors 108 provided on the other side of the pattern detectportion of the incident ambient light that has been transmitted throughthe pattern.

The code reader 102 is configured to read the code of the pattern 122,and possibly perform other measurements on the object 120, such as e.g.glucose level reading, when the object 120 is affixed to, aligned with,or inserted into the code reader 102 so that the centroid-measuringphotodetectors 108 could determine the centroid of the pattern 122. FIG.1A illustrates a scenario where the object 120 is not yet inserted intothe code reader 102, where dashed box 106 indicates position of theobject 120 once it is inserted into the code reader 102, while FIG. 1Billustrates a scenario after the insertion of the object 120 into thecore reader 102. While FIG. 1A indicates direction of insertion of theobject 120, descriptions provided herein are not suitable to the objectbeing inserted into the code reader and are applicable to any suitablealignment between the pattern 122 comprising the code to be read and theone or more centroid-measuring photodetectors 108 of the code reader 102that would allow the photodetectors to determine the centroid of thepattern. For example, the object 120 could be clapped onto the codereader 102 or affixed to the code reader in any other manner. Specificissues related to alignment are described in greater detail below.

As also illustrated in FIG. 1, the code reader 102 include processinglogic, shown as decoding logic 110, configured to determine the centroidof the pattern 122 from the detected light and to determine the code ofthe pattern based on the determined centroid (i.e., decode the dataencoded in the pattern provided on the object 120), in accordance withthe code reading techniques described herein. To that end, in someembodiments, the decoding logic 110 may include at least a processor 112and a memory 114, as shown in FIG. 1, configured to implement and/orcontrol various light detection and code reading techniques describedherein.

While FIG. 1 illustrates the decoding logic 110 to be included withinthe code reader 102, in other embodiments, the decoding logic 110 may beimplemented external to the code reader 102, in which case the decodinglogic 110 may be configured to exchange data with the code reader 102,in particular exchange data with the photodetectors 108 and e.g. controlthe light source(s) 116, remotely, via any appropriate communicationchannel. In other words, instead of being implemented within the codereader 102 as shown in FIG. 1, the decoding logic 110 may be external tothe code reader 102 and be communicatively coupled to the code reader102.

Light falling on a photodetector surface can have a non-uniform patternof light such as when a lens is used to create an image of an outsideworld on a surface of a photodetector such as camera. Light falling on asurface can also have non-uniform angular distribution if the light isincident on the photodetector from different directions emanating fromdifferent objects. As is well-known, a lens “converts” the angulardistribution of incident light rays to spatial distribution of intensityon the focal plane. In some embodiments, a lens may be used to convergethe light that has interacted with the pattern 122 onto thephotodetectors 108.

In various embodiments of the present disclosure, three different kindsof centroid-measuring photodetectors may be used.

One kind of a centroid-measuring photodetector is a lateral photodiodethat measures the centroid of the spatial distribution of light on itssurface. This requires that a lens be placed between the pattern 122 andthe plane of the photodetector 108 to form the spatial distribution asin any camera. A lateral photodiode includes a charge-generating regionat least partially enclosed between at least two, but possibly more (forexample four), charge-collecting electrodes. The charge-generatingregion is configured to generate charge as a result of the light beingincident on the region, in this case, the light that has interacted withthe pattern 122, and the amount of charge collected at each of thecharge-collecting electrodes (in particular, the difference between theamounts of charge collected at each electrode) is indicative of thecentroid of the pattern.

Another kind of a centroid-measuring photodetector may be referred to asan “angle sensor” because it is based on the direct measurement of theincident angular distribution of the light (again, the light that hasinteracted with the pattern 122). Such a photodetector is described inUS patent application US2013/0155396, assigned to the same Assignee asthe present application, the disclosure of which is incorporated hereinin its entirety. FIG. 2 illustrates an exemplary side-view perspectiveof such an angle sensor 200, according to some embodiments of thedisclosure.

As shown in FIG. 2, the photodetector 200 includes a surface 205 havingan aperture 202 and a pair of photodetectors 211 and 212 electricallyisolated from each other at a boundary between them, the boundaryaligned with the aperture. In the example of FIG. 2, the boundaryproviding electrical isolation of the pair of photodetectors is shown asa trench 203. However, other ways to provide such a boundary are withinthe scope of the present disclosure. Light that has interacted with thepattern 122 may be incident on the surface 205 and pass through theaperture 202 to reach the photodetectors 211 and 212. It should be notedthat while FIG. 2 illustrates a single photodetector 200 with a pair ofsub-photodetectors 211 and 212, and a single aperture 202, in differentembodiments, different numbers of apertures and photodetectors may beused.

The apertures 202 may be slits having a width s, and the aperture 202may be positioned at a height h above the photodetectors 211 and 212. Insome configurations, h may be less than 30 μm and in some space savingconfigurations, h may be less than 10 μm or even less than 1 μm. Amedium that enables light to pass through it may be placed between oneor more apertures 202 and the photodetectors 211 and 212, shown in FIG.2 as a transparent medium 206. In some instances, the medium may beglass, including forms of glass used during semiconductor devicefabrication. The width of the photodetector may depend on an angularrange requirement and h.

Each of the pair of photodetectors 211 and 212 is configured to generatea respective photocurrent when light that has interacted with thepattern 122 is incident on the photodetectors, provided that the lightis able to reach these two photodetectors 211 and 212. The angle of thelight that has interacted with the pattern 122 may be calculated bymeasuring a relative proportion of photocurrents detected at each of thephotodetectors 211 and 212. If the light is angularly distributed sothat the light reaches the photodetectors 211 and 212 from multipleangles θ with intensity In(θ), as could be the case when the light hasinteracted with the pattern 122, then the average angular position ofthe light may be calculated based on the photocurrents generated by eachof the sub-photodetectors 211 and 212. From that position, centroid ofthe pattern 122 may be determined. In other words, such a pair ofphotodetectors is sufficient to detect the angle of incident light andfrom that measure the centroid of the pattern, the angle of incidentlight being detectable based on a ratio of the photocurrents generatedrespectively by the pair of photodetectors. The pair ofsub-photodetectors 211 and 212 is aligned along an optical path withouta lens, the optical path leading through the aperture 202 and thephotodetectors 211, 212.

In both kinds of photodetectors described above, the centroid ismeasured in an analog fashion in the sense that the photocurrentsgenerated by two electrodes for a one dimensional measurement and fourelectrodes for a full two-dimensional measurement directly yieldcentroid of the image in case of lateral photodiode and of the angulardistribution in case of angle sensor. These kinds of photodetectorscannot produce a detailed light distribution that is routinely measuredby conventional cameras that include thousands or even millions ofphotodetectors. However, this is not needed because the photodetectorsonly need to be able to determine the centroid of the pattern. Thedecoding logic 110 can be configured to perform simple algebra on thephotocurrents measured at the electrodes of the photodetectors 108 todirectly obtain an instant value of a centroid of a light distributionof light incident on the photodetectors 108. In the context of thepresent disclosure, centroid of an image or an angular distribution maybe viewed as simply the weighted mean coordinate of the lightdistribution, similar to e.g. a center-of-mass.

Yet another kind of a centroid-measuring photodetector is a multi-pixelsensor similar to a one-dimensional or two-dimensional camera,configured to directly measure the centroid by integrated electronicsthat process the data from the pixels. Such sensors are known in the artas used for tracking objects and, therefore, are not described here indetail.

In various embodiments, information may be conveyed using simplepatterns such as the 8 patterns shown in FIG. 3, each of which could beused as the pattern 122 to be imprinted on the object 120. Patternsshown in FIG. 3 have 9 blocks arranged in a 3×3 grid where one of themis shown as white and others are shown as shaded. The white blockrepresents difference in the pattern with respect to the shaded blocks.For example, if the pattern is a pattern of openings, the white blockscould be the openings in an otherwise continuous surface. In anotherexample, if the code reader uses light reflected from the pattern toread codes, then the white blocks could have reflectivity different fromthat of the shaded blocks. In yet another example, if the code readeruses light transmitted from the pattern to read codes, then the whiteblocks could have different transmission/absorption coefficient than theshaded blocks. As would be apparent to a person of ordinary skill in theart based on the descriptions provided herein, any other arrangementsare possible, depending on a particular code reader design, all of whichare within the scope of the present disclosure.

Patterns of a 3×3 grid as shown in FIG. 3 could be used to encode datacorresponding to 9 different codes. Thus, in the view of thephotodetector 108 is restricted to within the bounding box surroundingthe 3×3 grid, then the centroid-measuring photodetector 108 will yield 9different (x,y) coordinates for the 9 patterns shown in FIG. 3. Suchcoding approach could be sufficient in applications such as e.g. medicaldevice assemblies or consumer electronics, where a code reader justneeds to read a code that indicates one of a few possible data sets. Forexample, printing codes such as shown in FIG. 3 on a back of a printedcircuit board (PCB) of a glucose metering strip can be easilyachievable, at very low cost.

In other embodiments, the patterns may be even simpler than those shownin FIG. 3 in that, e.g. a pattern may simply be a one-dimensional (1-D)pattern. Such patterns could be advantageous because they could make thecode reader less sensitive to alignment in one direction and simplifyconstruction of centroid-measuring photodetectors, and could beparticularly applicable to deployments where only fewer bits ofinformation need to be coded.

In practical situations, the number of unique coordinate pairs (i.e. thex and y coordinates) of a centroid that can be encoded by positionplacement of a white block may depend on four primary systemparameters: 1) signal to noise ratio (SNR) of the photodetector 108, 2)alignment repeatability between pattern 122 and the photodetector 108,3) resolution and variability of imprinting the patter 122 on the object120 (e.g. if done by simple printing of the pattern, then printerresolution and variability), and 4) variability in spatial control oflight illumination for the light that interacts with the pattern 122 andis detected by the photodetector 108.

The last parameter, i.e. variability in spatial control of lightillumination, can be minimized or eliminated by use of suitablediffusers. Advantageously, none of the centroid-measuring photodetectorsdescribed herein depend on absolute light level to report the centroid.Therefore, only the spatial variations in the light illumination arematerial and those could be reduced or eliminated by providing asuitable diffusing element, e.g. by placing a diffusing element in frontof the light source to spread the illumination evenly.

The first parameter, i.e. SNR of the sensor system, can also beaddressed relatively easy—e.g. illumination level may be controlled toensure high SNR. For each of the centroid-measuring photodetectorsdescribed above the relative error δx or δy is proportional to 1/SNR.Thus for a SNR of 1000, or 60 dB, 10³×10³ or million positions can becoded.

The foregoing illustrates that, in a practical situation, it isalignment repeatability (the second parameter) or printer repeatability(the third parameter) that would be the main contributors to determiningthe number of effective codes that may be encoded for reading using codereaders described herein. More or less patterns can be accommodateddepending on what is considered to be an acceptable error rate.

The actual angular position may depend on the relative distance betweenthe photodetector 108 and the pattern 122. This can be remedied by usingtwo centroid-measuring photodetectors with overlapping field of viewseparated by some known distance. Photocurrents measured by such a pairof photodetectors would allow one to deduce the distance between thephotodetector 108 and the pattern 122 from simple trigonometry, and thedistance could be used to adjust determination of the centroid. Thisfollows from the fact that each of the sensors will measure a differentlocation of the centroid due to its position relative to the pattern.There is only one distance to the pattern from the sensors that willsatisfy the relative difference in the angular position measured by thetwo sensors. This means the distance to the pattern can be determined,which distance can vary depending on a particular setting in which thecode reader is deployed, and hence the measured angular position can becorrected for the determined distance. In various embodiments this maybe carried out via e.g. trigonometric calculations or by using a look-uptable.

FIGS. 4A and 4B illustrate relative positions of a code reader and anobject having a code imprinted thereon, according to some embodiments ofthe disclosure. Both FIGUREs illustrate a centroid-measuringphotodetector 408, similar to the photodetector 108 described above,substantially aligned with a pattern 422, similar to the pattern 122described above, so that sufficient portion of the pattern 422 is withina field of view of the photodetector 408, shown as a field of view 440in FIG. 4A.

Element 430 in FIGS. 4A-4B illustrates a support layer on which thepattern 422 may be provided, e.g. a layer into which the light could becoupled and from which the light could leak out in the direction of thephotodetector 408, interacting with the pattern 422 prior to beingincident on the photodetector 408. This is also applicable to the object120 and the pattern 122 described with reference to FIG. 1, although notspecifically illustrated there.

FIG. 4A illustrates the photodetector 408 being provided at a greaterdistance from the pattern 422 than that shown in FIG. 4B. These figuresillustrates that the actual distance between the pattern and thesensor(s) can vary quite a bit in different deployment scenarios, but,in each case, the methods disclosed here can provide reliable measure ofthe centroid.

It should be noted that an alignment error may simply be viewed asincluding both an error due to mechanical alignment (i.e. the secondparameter above) and an error due to printer alignment (i.e. the thirdparameter above), since they are not easily distinguishable from oneanother. Both of these errors can be significantly reduced or eliminatedby adopting a differential scheme in which two centroid-measuringphotodetectors are used to read two different patterns imprinted on anobject, such photodetectors sometimes referred to in the following asdifferential photodetectors. In such an embodiment, each of the twocentroid-measuring photodetectors could be one of the centroid-measuringphotodetectors as described above, and each of the two patternsimprinted on an object could be one of the patterns as described above.The code reader would include these two centroid-measuringphotodetectors placed next to each other, with their fields of view notoverlapping, so that each photodetector can read a different patternimprinted on a given object.

A code reader comprising differential centroid-measuring photodetectorsis illustrated in FIGS. 5A and 5B which are similar to FIGS. 4A and 4B(and, therefore, all of the descriptions provided above are applicablehere), except that two photodetectors 508, each having a field of view540, are used. FIGS. 5A and 5B illustrate a single pattern 522, but thatis understood that such a single pattern would include a differentialpattern comprising two patterns, such as e.g. one of the three exemplarydifferential patterns shown in FIG. 6. Similarly, while FIG. 1illustrates and is described with reference to a single pattern 122,descriptions provided above with respect to the code reader 102 areapplicable to a code reader implementing the differential schemedescribed herein.

In the embodiment of the differential scheme, the two centroid-measuringphotodetectors are placed at a certain known distance from one another,i.e. they are aligned. Each of the centroid-measuring photodetectors isconfigured to determine a centroid of a corresponding pattern. Forexample, the photodetector 508 shown on the left side in FIGS. 5A-5Bcould be configured to determine a centroid of the left pattern of oneof the three differential patterns shown in FIG. 6, while thephotodetector 508 shown on the right side in FIGS. 5A-5B could beconfigured to determine a centroid of the right pattern of one of thethree differential patterns shown in FIG. 6. Thus, essentially, twopairs of coordinates are measured—a pair (x1, y1) represents a centroidof a pattern as measured by one photodetector 508, and a pair (x2, y2)represents a centroid of a pattern as measured by the otherphotodetector 508. The decoding logic 110 is then configured to use thedifference between these two centroids, e.g. the distance (x1−x2, y1−y2)to decode data. In other words, data can be encoded into the distancebetween the centroids of two patterns. Such an approach eliminates anycommon mode alignment offsets either by relative mechanical alignment ofthe photodetector or by the printed pattern. In addition, by virtue ofusing two centroid-measuring photodetectors and differential patterns,the differential scheme allows significantly increasing the number ofcodes.

Optionally, additional measures may be taken in order to further reducealignment and/or printer errors. For example, fabricating the twocentroid-measuring photodetectors on the same die could allow to furtherreduce variations between them and to align them lithographically. Thiswould reduce or eliminate any error in relative photodetector alignmentand photodetector response. Additionally or alternatively, both patternsmay be imprinted on the object using the same means, e.g. both patternscould be printed by the same printer. Any printer errors would then becancelled out when data is decoded based on the difference between thepatterns.

The distance z between the sensor and the pattern (shown e.g. in FIG.5A) can affect the measurement of the differential centroid distance(x1−x2, y1−y2). In some embodiments, a code reader may be configured toaccount for this distance. To that end, a code reader may includeanother pair of centroid-measuring photodetectors that have overlappingfields of view and use those photodetectors to determine the distancebetween the photodetectors and the pattern, as described above. Suchdistance measurement can be used for calibrating the photodetectorsystem. It could also enable encoding data by relative separation of thecentroid-measuring photodetectors and the patterns.

FIG. 7 illustrates a flow diagram of a code reading method 700,according to some embodiments of the disclosure. Although described withreference to the systems illustrated in FIGS. 1 and 5, any systemsconfigured to perform steps of method 700, in any order, are within thescope of the present disclosure.

At the beginning of the method, an object comprising one or morepatterns imprinted thereon may be affixed to, aligned with, or insertedinto a code reader. The method may begin with step 702, where one ormore centroid-measuring photodetectors included within the code reader,such as e.g. photodetectors 108, 408, or 508 described above, detectlight that has interacted with the one or more patterns of the object,and, in step 704, centroids of the one or more patterns are determined.In step 706, a code detection logic associated with thecentroid-measuring photodetectors is configured to process thedetermined centroids (e.g. process coordinates indicating locations ofthe centroids) to determine data encoded in the one or more patterns.

SELECTED EXAMPLES

Example 1 provides a medical device assembly including a medical devicereader configured to perform measurements on a medical device object,the medical device reader including a code reader, and the medicaldevice object configured to be affixed to, aligned with, or insertedinto the medical device reader and having a code provided thereon as apattern imprinted on the object. The code reader includes one or morecentroid-measuring photodetectors configured to detect light that hasinteracted with the pattern, where the detected light is indicative of acentroid of the pattern; and a processing logic configured to determinethe centroid of the pattern from the detected light, and determine thecode based on the determined centroid.

Example 2 provides the medical device assembly according to Example 1,where the medical device object includes a glucose meter strip and themedical device reader includes a glucose meter, and where themeasurements performed by the medical device reader on the medicaldevice object include measurements of one or more glucose levels basedon a sample provided in the glucose meter strip.

Example 3 provides the medical device assembly according to Example 1,where the one or more centroid-measuring photodetectors include a firstphotodetector and a second photodetector provided at predefinedpositions with respect to one another (e.g. the distance between the twophotodetectors is a known predefined distance), said pattern is a firstpattern, the object further has a second pattern provided thereon, thefirst photodetector is configured to detect light that has interactedwith the first pattern, where the light detected by the firstphotodetector is indicative of the centroid of the first pattern, thesecond photodetector is configured to detect light that has interactedwith the second pattern, where the light detected by the secondphotodetector is indicative of a centroid of the second pattern, theprocessing logic is configured to determine the centroid of the firstpattern based on light detected by the first photodetector and todetermine the centroid of the second pattern based on light detected bythe second photodetector, where decoding the data includes decoding thedata encoded in the first and second patterns based on a distancebetween the centroid of the first pattern and the centroid of the secondpattern.

Example 4 provides the medical device assembly according to Example 1,where each of the one or more centroid-measuring photodetectors includesa surface having an aperture; and a pair of photodetectors electricallyisolated from each other at a boundary between them, the boundaryaligned with the aperture.

Example 5 provides a code reading system including a firstcentroid-measuring photodetector configured to detect light that hasinteracted with a first pattern provided on an object, where the firstpattern encode data and where the detected light is indicative of acentroid of the first pattern; and a processing logic configured todetermine the centroid of the first pattern from the detected light, anddecode the data encoded in the first pattern based on the determinedcentroids of the first pattern.

Example 6 provides the code reading system according to Example 5, wherethe first centroid-measuring photodetector includes a charge-generatingregion at least partially enclosed between at least a pair ofcharge-collecting electrodes, where: the charge-generating region isconfigured to generate charge as a result of the light being incident onthe region, and amount of charge collected at each of thecharge-collecting electrodes (e.g. the difference between the amounts ofcharge collected at each electrode) is indicative of the centroid of thefirst pattern.

Example 7 provides the code reading system according to Example 6,further including a lens configured to image the first pattern onto thefirst centroid-measuring photodetector.

Example 8 provides the code reading system according to Example 6, wherethe first centroid-measuring photodetector is in direct contact with thefirst pattern or are at a distance of less than 10 millimeters (i.e. inrelatively close proximity with the first pattern).

Example 9 provides the code reading system according to Example 5, wherethe first centroid-measuring photodetector includes a surface having anaperture; and a pair of photodetectors electrically isolated from eachother at a boundary between them, the boundary aligned with theaperture.

Example 10 provides the code reading system according to Example 9,where each of the pair of photodetectors is configured to generate arespective photocurrent so that the pair of photodetectors is sufficientto detect the angle of incident light, the angle of incident light beingdetectable based on a ratio of the photocurrents generated respectivelyby the pair of photodetectors, and the pair of photodetectors is alignedalong an optical path without a lens, the optical path leading throughthe aperture and the photodetectors.

Example 11 provides the code reading system according to Example 5,where the first centroid-measuring photodetector includes a multi-pixelsensor configured to measure the centroid of the first pattern.

Example 12 provides the code reading system according to Example 5,where the code reading system further includes a secondcentroid-measuring photodetector provided at a predefined position withrespect to the first centroid-measuring photodetector (e.g. the distancebetween the two photodetectors is a known predefined distance), theobject further has a second pattern provided thereon, the secondphotodetector is configured to detect light that has interacted with thesecond pattern, where the light detected by the second photodetector isindicative of a centroid of the second pattern, the processing logic isfurther configured to determine the centroid of the second pattern basedon light detected by the second photodetector, and decoding the dataincludes decoding the data encoded in a combination of the first andsecond patterns based on a distance between the centroid of the firstpattern and the centroid of the second pattern.

Example 13 provides the code reading system according to Example 5,further including one or more light sources configured to generate lightto interact with the first pattern provided on the object.

Example 14 provides the code reading system according to Example 13,where the one or more light sources are configured to couple thegenerated light into the object.

Example 15 provides the code reading system according to Example 13,where the one or more light sources are configured to illuminate theobject with the generated light so that the light that has interactedwith the first pattern includes a portion of the generated light that istransmitted through the first pattern.

Example 16 provides the code reading system according to Example 13,where the one or more light sources are configured to illuminate theobject with the generated light so that the light that has interactedwith the first pattern includes a portion of the generated light that isreflected from the first pattern.

Example 17 provides the code reading system according to Example 5,where the first pattern is a pattern of openings provided in the object.

Example 18 provides the code reading system according to Example 5,where the first pattern is a unique coding pattern.

Example 19 provides a code reading assembly including a code reader, anda coded object having a code imprinted thereon as a pattern provided onthe object, where the coded object is configured to be affixed to,aligned with, or inserted into the code reader for the code reader toread the code imprinted on the coded object. The code reader includesone or more centroid-measuring photodetectors configured to detect lightthat has interacted with the pattern, where the detected light isindicative of a centroid of the pattern; and a processing logicconfigured to determine the centroid of the pattern from the detectedlight, and determine the code based on the determined centroid.

Variations and Implementations

It is noted that the illustrations in the FIGURES do not necessaryrepresent true layout, orientation, sizing, and/or geometry of an actualcode reader. It is envisioned by the disclosure that various suitablelayouts can be designed and implemented for the code reader configuredto decode data based on the centroids of patterns. Based on thedescriptions provided above, a person of ordinary skill in the art caneasily envision various further embodiments and configurations ofencoding data into patterns and of using centroid-measuringphotodetectors to read the encoded data, all of which are within thescope of the present disclosure.

FIGS. 1-7 can vary significantly to achieve equivalent or similarresults, and thus should not be construed as the only possibleimplementation which leverages the use of context data disclosed herein.

It is envisioned that the code readers described herein and/or theassociated processing modules can be provided in many areas includingmedical equipment, security monitoring, patient monitoring, healthcareequipment, medical equipment, automotive equipment, aerospace equipment,consumer electronics, and sports equipment, etc.

In some cases, the code reader and/or the associated processing modulecan be used in professional medical equipment in a healthcare settingsuch as doctor's offices, emergency rooms, hospitals, etc. In somecases, the code reader and/or the associated processing module can beused in less formal settings, such as schools, gyms, homes, offices,outdoors, under water, etc. The code reader and/or the associatedprocessing module can be provided in a consumer healthcare product.

In the discussions of the embodiments above, the capacitors, clocks,DFFs, dividers, inductors, resistors, amplifiers, switches, digitalcore, transistors, and/or other components can readily be replaced,substituted, or otherwise modified in order to accommodate particularcircuitry needs. Moreover, it should be noted that the use ofcomplementary electronic devices, hardware, software, etc. offer anequally viable option for implementing the teachings of the presentdisclosure. For instance, instead of processing the signals in thedigital domain, it is possible to provide equivalent electronics thatcan process the signals in the analog domain.

In one example embodiment, any number of electrical circuits of theFIGURES may be implemented on a board of an associated electronicdevice. The board can be a general circuit board that can hold variouscomponents of the internal electronic system of the electronic deviceand, further, provide connectors for other peripherals. Morespecifically, the board can provide the electrical connections by whichthe other components of the system can communicate electrically. Anysuitable processors (inclusive of digital signal processors,microprocessors, supporting chipsets, etc.), computer-readablenon-transitory memory elements, etc. can be suitably coupled to theboard based on particular configuration needs, processing demands,computer designs, etc. Other components such as external storage,additional sensors, controllers for audio/video display, and peripheraldevices may be attached to the board as plug-in cards, via cables, orintegrated into the board itself. In various embodiments, thefunctionalities described herein may be implemented in emulation form assoftware or firmware running within one or more configurable (e.g.,programmable) elements arranged in a structure that supports thesefunctions. The software or firmware providing the emulation may beprovided on non-transitory computer-readable storage medium comprisinginstructions to allow a processor to carry out those functionalities. Insome cases, application specific hardware can be provided with or in theprocessor to carry out those functionalities.

In another example embodiment, the electrical circuits of the FIGURESmay be implemented as stand-alone modules (e.g., a device withassociated components and circuitry configured to perform a specificapplication or function) or implemented as plug-in modules intoapplication specific hardware of electronic devices. Note thatparticular embodiments of the present disclosure may be readily includedin a system on chip (SOC) package, either in part, or in whole. An SOCrepresents an IC that integrates components of a computer or otherelectronic system into a single chip. It may contain digital, analog,mixed-signal, and often radio frequency functions: all of which may beprovided on a single chip substrate. Other embodiments may include amulti-chip-module (MCM), with a plurality of separate ICs located withina single electronic package and configured to interact closely with eachother through the electronic package. In various other embodiments, theslow varying frequency tracking functionalities may be implemented inone or more silicon cores in Application Specific Integrated Circuits(ASICs), Field Programmable Gate Arrays (FPGAs), and other semiconductorchips.

Note that the activities discussed above with reference to the FIGURESare applicable to any integrated circuits that involve signalprocessing, particularly those that can execute specialized softwareprograms, or algorithms, some of which may be associated with processingdigitized real-time data to track a slow moving frequency. Certainembodiments can relate to multi-DSP signal processing, floating pointprocessing, signal/control processing, fixed-function processing,microcontroller applications, etc. In certain contexts, the featuresdiscussed herein can be applicable to medical systems, scientificinstrumentation, wireless and wired communications, radar, industrialprocess control, audio and video equipment, current sensing,instrumentation (which can be highly precise), and otherdigital-processing-based systems. Moreover, certain embodimentsdiscussed above can be provisioned in digital signal processingtechnologies for medical imaging, patient monitoring, medicalinstrumentation, and home healthcare. This could include pulmonarymonitors, heart rate monitors, pacemakers, etc. Other applications caninvolve automotive technologies for safety systems (e.g., stabilitycontrol systems, driver assistance systems, braking systems,infotainment and interior applications of any kind). In yet otherexample scenarios, the teachings of the present disclosure can beapplicable in the industrial markets that include process controlsystems aiming to track vital signs to help drive productivity, energyefficiency, and reliability.

Note that with the numerous examples provided herein, interaction may bedescribed in terms of two, three, four, or more parts. However, this hasbeen done for purposes of clarity and example only. It should beappreciated that the system can be consolidated in any suitable manner.Along similar design alternatives, any of the illustrated components,modules, and elements of the FIGURES may be combined in various possibleconfigurations, all of which are clearly within the broad scope of thisSpecification. In certain cases, it may be easier to describe one ormore of the functionalities of a given set of flows by only referencinga limited number of electrical elements. It should be appreciated thatthe features of the FIGURES and its teachings are readily scalable andcan accommodate a large number of components, as well as morecomplicated/sophisticated arrangements and configurations. Accordingly,the examples provided should not limit the scope or inhibit the broadteachings of the electrical circuits as potentially applied to a myriadof other architectures.

Note that in this Specification, references to various features (e.g.,elements, structures, modules, components, steps, operations, parts,characteristics, etc.) included in “one embodiment”, “exampleembodiment”, “an embodiment”, “another embodiment”, “some embodiments”,“various embodiments”, “other embodiments”, “alternative embodiment”,and the like are intended to mean that any such features are included inone or more embodiments of the present disclosure, but may or may notnecessarily be combined in the same embodiments.

It is also important to note that the functions related to code readingillustrate only some of the possible tracking functions that may beexecuted by, or within, systems illustrated in the FIGURES. Some ofthese operations may be deleted or removed where appropriate, or theseoperations may be modified or changed considerably without departingfrom the scope of the present disclosure. In addition, the timing ofthese operations may be altered considerably. The preceding operationalflows have been offered for purposes of example and discussion.Substantial flexibility is provided by embodiments described herein inthat any suitable arrangements, chronologies, configurations, and timingmechanisms may be provided without departing from the teachings of thepresent disclosure. Note that all optional features of the apparatusdescribed above may also be implemented with respect to the method orprocess described herein and specifics in the examples may be usedanywhere in one or more embodiments.

The ‘means for’ in these instances (above) can include (but is notlimited to) using any suitable component discussed herein, along withany suitable software, circuitry, hub, computer code, logic, algorithms,hardware, controller, interface, link, bus, communication pathway, etc.In a second example, the system includes memory that further comprisesmachine-readable instructions that when executed cause the system toperform any of the activities discussed above.

1. A medical device assembly comprising: a medical device reader configured to perform measurements on a medical device object, the medical device reader comprising a code reader, and the medical device object configured to be affixed to, aligned with, or inserted into the medical device reader and having a code provided thereon as a pattern imprinted on the object, wherein the code reader comprises: one or more centroid-measuring photodetectors configured to detect light that has interacted with the pattern, wherein the detected light is indicative of a centroid of the pattern; and a processing logic configured to: determine the centroid of the pattern from the detected light, and determine the code based on the determined centroid.
 2. The medical device assembly according to claim 1, wherein the medical device object comprises a glucose meter strip and the medical device reader comprises a glucose meter, and wherein the measurements performed by the medical device reader on the medical device object comprise measurements of one or more glucose levels based on a sample provided in the glucose meter strip.
 3. The medical device assembly according to claim 1, wherein: the one or more centroid-measuring photodetectors comprise a first photodetector and a second photodetector provided at predefined positions with respect to one another, said pattern is a first pattern, the object further has a second pattern provided thereon, the first photodetector is configured to detect light that has interacted with the first pattern, wherein the light detected by the first photodetector is indicative of the centroid of the first pattern, the second photodetector is configured to detect light that has interacted with the second pattern, wherein the light detected by the second photodetector is indicative of a centroid of the second pattern, the processing logic is configured to determine the centroid of the first pattern based on light detected by the first photodetector and to determine the centroid of the second pattern based on light detected by the second photodetector, wherein determining the code comprises determining the code encoded in the first and second patterns based on a distance between the centroid of the first pattern and the centroid of the second pattern.
 4. The medical device assembly according to claim 1, wherein each of the one or more centroid-measuring photodetectors comprises: a surface having an aperture; and a pair of photodetectors electrically isolated from each other at a boundary between them, the boundary aligned with the aperture. 5-19. (canceled)
 20. The medical device assembly according to claim 4, wherein: each of the pair of photodetectors is configured to generate a respective photocurrent, the pair of photodetectors is aligned along an optical path without a lens, the optical path leading through the aperture and the photodetectors, and the processing logic is configured to determine the centroid of the pattern based on a ratio of the photocurrents generated by the pair of photodetectors.
 21. The medical device assembly according to claim 1, wherein: the one or more centroid-measuring photodetectors comprise a charge-generating region at least partially enclosed between at least a pair of charge-collecting electrodes, the charge-generating region is configured to generate charge as a result of the light being incident on the region, and amount of charge collected at each of the charge-collecting electrodes is indicative of the centroid of the pattern.
 22. The medical device assembly according to claim 21, further comprising a lens configured to image the pattern onto the one or more centroid-measuring photodetectors.
 23. The medical device assembly according to claim 21, wherein the one or more centroid-measuring photodetectors are in direct contact with the pattern or are at a distance of less than 10 millimeters from the pattern.
 24. The medical device assembly according to claim 1, wherein the one or more centroid-measuring photodetectors comprise a multi-pixel sensor configured to measure the centroid of the pattern.
 25. The medical device assembly according to claim 1, further comprising one or more light sources configured to generate light to interact with the pattern provided on the medical device object.
 26. The medical device assembly according to claim 25, wherein the one or more light sources are configured to couple the generated light into the medical device object.
 27. The medical device assembly according to claim 25, wherein the one or more light sources are configured to illuminate the medical device object with the generated light so that the light that has interacted with the pattern comprises a portion of the generated light that is transmitted through the pattern.
 28. The medical device assembly according to claim 25, wherein the one or more light sources are configured to illuminate the object with the generated light so that the light that has interacted with the pattern comprises a portion of the generated light that is reflected from the pattern.
 29. The medical device assembly according to claim 1, wherein the pattern is a pattern of openings provided in the medical device object.
 30. The medical device assembly according to claim 1, wherein the pattern is a unique coding pattern.
 31. A method for reading a code provided as a pattern imprinted on a medical device object, the method comprising: receiving measurements from one or more centroid-measuring photodetectors of a medical device reader, the one or more centroid-measuring photodetectors configured to measure light that has interacted with the pattern when the medical device object is affixed to, aligned with, or inserted into the medical device reader; determining the centroid of the pattern based on the measurements; and determining the code based on the determined centroid.
 32. The method according to claim 31, wherein each of the one or more centroid-measuring photodetectors comprises: a surface having an aperture; and a pair of photodetectors electrically isolated from each other at a boundary between them, the boundary aligned with the aperture.
 33. The method according to claim 31, wherein each of the one or more centroid-measuring photodetectors comprises a charge-generating region at least partially enclosed between at least a pair of charge-collecting electrodes, where the charge-generating region is configured to generate charge as a result of the light being incident on the region, and amount of charge collected at each of the charge-collecting electrodes is indicative of the centroid of the pattern.
 34. The method according to claim 31, wherein each of the one or more centroid-measuring photodetectors comprises a multi-pixel sensor. 